;(function ($){
$.flexslider=function(el, options){
var slider=$(el),
vars=$.extend({}, $.flexslider.defaults, options),
namespace=vars.namespace,
touch=("ontouchstart" in window)||window.DocumentTouch&&document instanceof DocumentTouch,
eventType=(touch) ? "touchend":"click",
vertical=vars.direction==="vertical",
reverse=vars.reverse,
carousel=(vars.itemWidth > 0),
fade=vars.animation==="fade",
asNav=vars.asNavFor!=="",
methods={};
$.data(el, "flexslider", slider);
methods={
init: function(){
slider.animating=false;
slider.currentSlide=vars.startAt;
slider.animatingTo=slider.currentSlide;
slider.atEnd=(slider.currentSlide===0||slider.currentSlide===slider.last);
slider.containerSelector=vars.selector.substr(0,vars.selector.search(' '));
slider.slides=$(vars.selector, slider);
slider.container=$(slider.containerSelector, slider);
slider.count=slider.slides.length;
slider.syncExists=$(vars.sync).length > 0;
if(vars.animation==="slide") vars.animation="swing";
slider.prop=(vertical) ? "top":"marginLeft";
slider.args={};
slider.manualPause=false;
slider.transitions = !vars.video&&!fade&&vars.useCSS&&(function(){
var obj=document.createElement('div'),
props=['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
for (var i in props){
if(obj.style[ props[i] ]!==undefined){
slider.pfx=props[i].replace('Perspective','').toLowerCase();
slider.prop="-" + slider.pfx + "-transform";
return true;
}}
return false;
}());
if(vars.controlsContainer!=="") slider.controlsContainer=$(vars.controlsContainer).length > 0&&$(vars.controlsContainer);
if(vars.manualControls!=="") slider.manualControls=$(vars.manualControls).length > 0&&$(vars.manualControls);
if(vars.randomize){
slider.slides.sort(function(){ return (Math.round(Math.random())-0.5); });
slider.container.empty().append(slider.slides);
}
slider.doMath();
if(asNav) methods.asNav.setup();
slider.setup("init");
if(vars.controlNav) methods.controlNav.setup();
if(vars.directionNav) methods.directionNav.setup();
if(vars.keyboard&&($(slider.containerSelector).length===1||vars.multipleKeyboard)){
$(document).bind('keyup', function(event){
var keycode=event.keyCode;
if(!slider.animating&&(keycode===39||keycode===37)){
var target=(keycode===39) ? slider.getTarget('next') :
(keycode===37) ? slider.getTarget('prev'):false;
slider.flexAnimate(target, vars.pauseOnAction);
}});
}
if(vars.mousewheel){
slider.bind('mousewheel', function(event, delta, deltaX, deltaY){
event.preventDefault();
var target=(delta < 0) ? slider.getTarget('next'):slider.getTarget('prev');
slider.flexAnimate(target, vars.pauseOnAction);
});
}
if(vars.pausePlay) methods.pausePlay.setup();
if(vars.slideshow){
if(vars.pauseOnHover){
slider.hover(function(){
slider.pause();
}, function(){
if(!slider.manualPause) slider.play();
});
}
(vars.initDelay > 0) ? setTimeout(slider.play, vars.initDelay):slider.play();
}
if(touch&&vars.touch) methods.touch();
if(!fade||(fade&&vars.smoothHeight)) $(window).bind("resize focus", methods.resize);
setTimeout(function(){
vars.start(slider);
}, 200);
},
asNav: {
setup: function(){
slider.asNav=true;
slider.animatingTo=Math.floor(slider.currentSlide/slider.move);
slider.currentItem=slider.currentSlide;
slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
slider.slides.click(function(e){
e.preventDefault();
var $slide=$(this),
target=$slide.index();
if(!$(vars.asNavFor).data('flexslider').animating&&!$slide.hasClass('active')){
slider.direction=(slider.currentItem < target) ? "next":"prev";
slider.flexAnimate(target, vars.pauseOnAction, false, true, true);
}});
}},
controlNav: {
setup: function(){
if(!slider.manualControls){
methods.controlNav.setupPaging();
}else{
methods.controlNav.setupManual();
}},
setupPaging: function(){
var type=(vars.controlNav==="thumbnails") ? 'control-thumbs':'control-paging',
j=1,
item;
slider.controlNavScaffold=$('
');
if(slider.pagingCount > 1){
for (var i=0; i < slider.pagingCount; i++){
item=(vars.controlNav==="thumbnails") ? '':'' + j + '';
slider.controlNavScaffold.append('' + item + '');
j++;
}}
(slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold):slider.append(slider.controlNavScaffold);
methods.controlNav.set();
methods.controlNav.active();
slider.controlNavScaffold.delegate('a, img', eventType, function(event){
event.preventDefault();
var $this=$(this),
target=slider.controlNav.index($this);
if(!$this.hasClass(namespace + 'active')){
slider.direction=(target > slider.currentSlide) ? "next":"prev";
slider.flexAnimate(target, vars.pauseOnAction);
}});
if(touch){
slider.controlNavScaffold.delegate('a', "click touchstart", function(event){
event.preventDefault();
});
}},
setupManual: function(){
slider.controlNav=slider.manualControls;
methods.controlNav.active();
slider.controlNav.live(eventType, function(event){
event.preventDefault();
var $this=$(this),
target=slider.controlNav.index($this);
if(!$this.hasClass(namespace + 'active')){
(target > slider.currentSlide) ? slider.direction="next":slider.direction="prev";
slider.flexAnimate(target, vars.pauseOnAction);
}});
if(touch){
slider.controlNav.live("click touchstart", function(event){
event.preventDefault();
});
}},
set: function(){
var selector=(vars.controlNav==="thumbnails") ? 'img':'a';
slider.controlNav=$('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer:slider);
},
active: function(){
slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
},
update: function(action, pos){
if(slider.pagingCount > 1&&action==="add"){
slider.controlNavScaffold.append($('' + slider.count + ''));
}else if(slider.pagingCount===1){
slider.controlNavScaffold.find('li').remove();
}else{
slider.controlNav.eq(pos).closest('li').remove();
}
methods.controlNav.set();
(slider.pagingCount > 1&&slider.pagingCount!==slider.controlNav.length) ? slider.update(pos, action):methods.controlNav.active();
}},
directionNav: {
setup: function(){
var directionNavScaffold=$('');
if(slider.controlsContainer){
$(slider.controlsContainer).append(directionNavScaffold);
slider.directionNav=$('.' + namespace + 'direction-nav li a', slider.controlsContainer);
}else{
slider.append(directionNavScaffold);
slider.directionNav=$('.' + namespace + 'direction-nav li a', slider);
}
methods.directionNav.update();
slider.directionNav.bind(eventType, function(event){
event.preventDefault();
var target=($(this).hasClass(namespace + 'next')) ? slider.getTarget('next'):slider.getTarget('prev');
slider.flexAnimate(target, vars.pauseOnAction);
});
if(touch){
slider.directionNav.bind("click touchstart", function(event){
event.preventDefault();
});
}},
update: function(){
var disabledClass=namespace + 'disabled';
if(!vars.animationLoop){
if(slider.pagingCount===1){
slider.directionNav.addClass(disabledClass);
}else if(slider.animatingTo===0){
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass);
}else if(slider.animatingTo===slider.last){
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass);
}else{
slider.directionNav.removeClass(disabledClass);
}}
}},
pausePlay: {
setup: function(){
var pausePlayScaffold=$('');
if(slider.controlsContainer){
slider.controlsContainer.append(pausePlayScaffold);
slider.pausePlay=$('.' + namespace + 'pauseplay a', slider.controlsContainer);
}else{
slider.append(pausePlayScaffold);
slider.pausePlay=$('.' + namespace + 'pauseplay a', slider);
}
methods.pausePlay.update((vars.slideshow) ? namespace + 'pause':namespace + 'play');
slider.pausePlay.bind(eventType, function(event){
event.preventDefault();
if($(this).hasClass(namespace + 'pause')){
slider.pause();
slider.manualPause=true;
}else{
slider.play();
slider.manualPause=false;
}});
if(touch){
slider.pausePlay.bind("click touchstart", function(event){
event.preventDefault();
});
}},
update: function(state){
(state==="play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').text(vars.playText):slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').text(vars.pauseText);
}},
touch: function(){
var startX,
startY,
offset,
cwidth,
dx,
startT,
scrolling=false;
el.addEventListener('touchstart', onTouchStart, false);
function onTouchStart(e){
if(slider.animating){
e.preventDefault();
}else if(e.touches.length===1){
slider.pause();
cwidth=(vertical) ? slider.h:slider. w;
startT=Number(new Date());
offset=(carousel&&reverse&&slider.animatingTo===slider.last) ? 0 :
(carousel&&reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
(carousel&&slider.currentSlide===slider.last) ? slider.limit :
(carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide :
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth:(slider.currentSlide + slider.cloneOffset) * cwidth;
startX=(vertical) ? e.touches[0].pageY:e.touches[0].pageX;
startY=(vertical) ? e.touches[0].pageX:e.touches[0].pageY;
el.addEventListener('touchmove', onTouchMove, false);
el.addEventListener('touchend', onTouchEnd, false);
}}
function onTouchMove(e){
dx=(vertical) ? startX - e.touches[0].pageY:startX - e.touches[0].pageX;
scrolling=(vertical) ? (Math.abs(dx) < Math.abs(e.touches[0].pageX - startY)):(Math.abs(dx) < Math.abs(e.touches[0].pageY - startY));
if(!scrolling||Number(new Date()) - startT > 500){
e.preventDefault();
if(!fade&&slider.transitions){
if(!vars.animationLoop){
dx=dx/((slider.currentSlide===0&&dx < 0||slider.currentSlide===slider.last&&dx > 0) ? (Math.abs(dx)/cwidth+2):1);
}
slider.setProps(offset + dx, "setTouch");
}}
}
function onTouchEnd(e){
if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){
var updateDx=(reverse) ? -dx:dx,
target=(updateDx > 0) ? slider.getTarget('next'):slider.getTarget('prev');
if(slider.canAdvance(target)&&(Number(new Date()) - startT < 550&&Math.abs(updateDx) > 20||Math.abs(updateDx) > cwidth/2)){
slider.flexAnimate(target, vars.pauseOnAction);
}else{
slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);
}}
el.removeEventListener('touchmove', onTouchMove, false);
el.removeEventListener('touchend', onTouchEnd, false);
startX=null;
startY=null;
dx=null;
offset=null;
}},
resize: function(){
if(!slider.animating&&slider.is(':visible')){
if(!carousel) slider.doMath();
if(fade){
methods.smoothHeight();
}else if(carousel){
slider.slides.width(slider.computedW);
slider.update(slider.pagingCount);
slider.setProps();
}
else if(vertical){
slider.viewport.height(slider.h);
slider.setProps(slider.h, "setTotal");
}else{
if(vars.smoothHeight) methods.smoothHeight();
slider.newSlides.width(slider.computedW);
slider.setProps(slider.computedW, "setTotal");
}}
},
smoothHeight: function(dur){
if(!vertical||fade){
var $obj=(fade) ? slider:slider.viewport;
(dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur):$obj.height(slider.slides.eq(slider.animatingTo).height());
}},
sync: function(action){
var $obj=$(vars.sync).data("flexslider"),
target=slider.animatingTo;
switch (action){
case "animate": $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;
case "play": if(!$obj.playing&&!$obj.asNav){ $obj.play(); } break;
case "pause": $obj.pause(); break;
}}
}
slider.flexAnimate=function(target, pause, override, withSync, fromNav){
if(!slider.animating&&(slider.canAdvance(target)||override)&&slider.is(":visible")){
if(asNav&&withSync){
var master=$(vars.asNavFor).data('flexslider');
slider.atEnd=target===0||target===slider.count - 1;
master.flexAnimate(target, true, false, true, fromNav);
slider.direction=(slider.currentItem < target) ? "next":"prev";
master.direction=slider.direction;
if(Math.ceil((target + 1)/slider.visible) - 1!==slider.currentSlide&&target!==0){
slider.currentItem=target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
target=Math.floor(target/slider.visible);
}else{
slider.currentItem=target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
return false;
}}
slider.animating=true;
slider.animatingTo=target;
vars.before(slider);
if(pause) slider.pause();
if(slider.syncExists&&!fromNav) methods.sync("animate");
if(vars.controlNav) methods.controlNav.active();
if(!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
slider.atEnd=target===0||target===slider.last;
if(vars.directionNav) methods.directionNav.update();
if(target===slider.last){
vars.end(slider);
if(!vars.animationLoop) slider.pause();
}
if(!fade){
var dimension=(vertical) ? slider.slides.filter(':first').height():slider.computedW,
margin, slideString, calcNext;
if(carousel){
margin=(vars.itemWidth > slider.w) ? vars.itemMargin * 2:vars.itemMargin;
calcNext=((slider.itemW + margin) * slider.move) * slider.animatingTo;
slideString=(calcNext > slider.limit&&slider.visible!==1) ? slider.limit:calcNext;
}else if(slider.currentSlide===0&&target===slider.count - 1&&vars.animationLoop&&slider.direction!=="next"){
slideString=(reverse) ? (slider.count + slider.cloneOffset) * dimension:0;
}else if(slider.currentSlide===slider.last&&target===0&&vars.animationLoop&&slider.direction!=="prev"){
slideString=(reverse) ? 0:(slider.count + 1) * dimension;
}else{
slideString=(reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension:(target + slider.cloneOffset) * dimension;
}
slider.setProps(slideString, "", vars.animationSpeed);
if(slider.transitions){
if(!vars.animationLoop||!slider.atEnd){
slider.animating=false;
slider.currentSlide=slider.animatingTo;
}
slider.container.unbind("webkitTransitionEnd transitionend");
slider.container.bind("webkitTransitionEnd transitionend", function(){
slider.wrapup(dimension);
});
}else{
slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function(){
slider.wrapup(dimension);
});
}}else{
slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);
slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);
}
if(vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);
}}
slider.wrapup=function(dimension){
if(!fade&&!carousel){
if(slider.currentSlide===0&&slider.animatingTo===slider.last&&vars.animationLoop){
slider.setProps(dimension, "jumpEnd");
}else if(slider.currentSlide===slider.last&&slider.animatingTo===0&&vars.animationLoop){
slider.setProps(dimension, "jumpStart");
}}
slider.animating=false;
slider.currentSlide=slider.animatingTo;
vars.after(slider);
}
slider.animateSlides=function(){
if(!slider.animating) slider.flexAnimate(slider.getTarget("next"));
}
slider.pause=function(){
clearInterval(slider.animatedSlides);
slider.playing=false;
if(vars.pausePlay) methods.pausePlay.update("play");
if(slider.syncExists) methods.sync("pause");
}
slider.play=function(){
slider.animatedSlides=setInterval(slider.animateSlides, vars.slideshowSpeed);
slider.playing=true;
if(vars.pausePlay) methods.pausePlay.update("pause");
if(slider.syncExists) methods.sync("play");
}
slider.canAdvance=function(target){
var last=(asNav) ? slider.pagingCount - 1:slider.last;
return (asNav&&slider.currentItem===0&&target===slider.pagingCount - 1&&slider.direction!=="next") ? false :
(target===slider.currentSlide&&!asNav) ? false :
(vars.animationLoop) ? true :
(slider.atEnd&&slider.currentSlide===0&&target===last&&slider.direction!=="next") ? false :
(slider.atEnd&&slider.currentSlide===last&&target===0&&slider.direction==="next") ? false :
true;
}
slider.getTarget=function(dir){
slider.direction=dir;
if(dir==="next"){
return (slider.currentSlide===slider.last) ? 0:slider.currentSlide + 1;
}else{
return (slider.currentSlide===0) ? slider.last:slider.currentSlide - 1;
}}
slider.setProps=function(pos, special, dur){
var target=(function(){
var posCheck=(pos) ? pos:((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,
posCalc=(function(){
if(carousel){
return (special==="setTouch") ? pos :
(reverse&&slider.animatingTo===slider.last) ? 0 :
(reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
(slider.animatingTo===slider.last) ? slider.limit:posCheck;
}else{
switch (special){
case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos:(slider.currentSlide + slider.cloneOffset) * pos;
case "setTouch": return (reverse) ? pos:pos;
case "jumpEnd": return (reverse) ? pos:slider.count * pos;
case "jumpStart": return (reverse) ? slider.count * pos:pos;
default: return pos;
}}
}());
return (posCalc * -1) + "px";
}());
if(slider.transitions){
target=(vertical) ? "translate3d(0," + target + ",0)":"translate3d(" + target + ",0,0)";
dur=(dur!==undefined) ? (dur/1000) + "s":"0s";
slider.container.css("-" + slider.pfx + "-transition-duration", dur);
}
slider.args[slider.prop]=target;
if(slider.transitions||dur===undefined) slider.container.css(slider.args);
}
slider.setup=function(type){
if(!fade){
var sliderOffset, arr;
if(type==="init"){
slider.viewport=$('').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
slider.cloneCount=0;
slider.cloneOffset=0;
if(reverse){
arr=$.makeArray(slider.slides).reverse();
slider.slides=$(arr);
slider.container.empty().append(slider.slides);
}}
if(vars.animationLoop&&!carousel){
slider.cloneCount=2;
slider.cloneOffset=1;
if(type!=="init") slider.container.find('.clone').remove();
slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(slider.slides.last().clone().addClass('clone'));
}
slider.newSlides=$(vars.selector, slider);
sliderOffset=(reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset:slider.currentSlide + slider.cloneOffset;
if(vertical&&!carousel){
slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
setTimeout(function(){
slider.newSlides.css({"display": "block"});
slider.doMath();
slider.viewport.height(slider.h);
slider.setProps(sliderOffset * slider.h, "init");
}, (type==="init") ? 100:0);
}else{
slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
slider.setProps(sliderOffset * slider.computedW, "init");
setTimeout(function(){
slider.doMath();
slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
if(vars.smoothHeight) methods.smoothHeight();
}, (type==="init") ? 100:0);
}}else{
slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
if(type==="init") slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);
if(vars.smoothHeight) methods.smoothHeight();
}
if(!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
}
slider.doMath=function(){
var slide=slider.slides.first(),
slideMargin=vars.itemMargin,
minItems=vars.minItems,
maxItems=vars.maxItems;
slider.w=slider.width();
slider.h=slide.height();
slider.boxPadding=slide.outerWidth() - slide.width();
if(carousel){
slider.itemT=vars.itemWidth + slideMargin;
slider.minW=(minItems) ? minItems * slider.itemT:slider.w;
slider.maxW=(maxItems) ? maxItems * slider.itemT:slider.w;
slider.itemW=(slider.minW > slider.w) ? (slider.w - (slideMargin * minItems))/minItems :
(slider.maxW < slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :
(vars.itemWidth > slider.w) ? slider.w:vars.itemWidth;
slider.visible=Math.floor(slider.w/(slider.itemW + slideMargin));
slider.move=(vars.move > 0&&vars.move < slider.visible) ? vars.move:slider.visible;
slider.pagingCount=Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
slider.last=slider.pagingCount - 1;
slider.limit=(slider.pagingCount===1) ? 0 :
(vars.itemWidth > slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin:((slider.itemW + slideMargin) * slider.count) - slider.w;
}else{
slider.itemW=slider.w;
slider.pagingCount=slider.count;
slider.last=slider.count - 1;
}
slider.computedW=slider.itemW - slider.boxPadding;
}
slider.update=function(pos, action){
slider.doMath();
if(!carousel){
if(pos < slider.currentSlide){
slider.currentSlide +=1;
}else if(pos <=slider.currentSlide&&pos!==0){
slider.currentSlide -=1;
}
slider.animatingTo=slider.currentSlide;
}
if(vars.controlNav&&!slider.manualControls){
if((action==="add"&&!carousel)||slider.pagingCount > slider.controlNav.length){
methods.controlNav.update("add");
}else if((action==="remove"&&!carousel)||slider.pagingCount < slider.controlNav.length){
if(carousel&&slider.currentSlide > slider.last){
slider.currentSlide -=1;
slider.animatingTo -=1;
}
methods.controlNav.update("remove", slider.last);
}}
if(vars.directionNav) methods.directionNav.update();
}
slider.addSlide=function(obj, pos){
var $obj=$(obj);
slider.count +=1;
slider.last=slider.count - 1;
if(vertical&&reverse){
(pos!==undefined) ? slider.slides.eq(slider.count - pos).after($obj):slider.container.prepend($obj);
}else{
(pos!==undefined) ? slider.slides.eq(pos).before($obj):slider.container.append($obj);
}
slider.update(pos, "add");
slider.slides=$(vars.selector + ':not(.clone)', slider);
slider.setup();
vars.added(slider);
}
slider.removeSlide=function(obj){
var pos=(isNaN(obj)) ? slider.slides.index($(obj)):obj;
slider.count -=1;
slider.last=slider.count - 1;
if(isNaN(obj)){
$(obj, slider.slides).remove();
}else{
(vertical&&reverse) ? slider.slides.eq(slider.last).remove():slider.slides.eq(obj).remove();
}
slider.doMath();
slider.update(pos, "remove");
slider.slides=$(vars.selector + ':not(.clone)', slider);
slider.setup();
vars.removed(slider);
}
methods.init();
}
$.flexslider.defaults={
namespace: "flex-",
selector: ".slides > li",
animation: "fade",
easing: "swing",
direction: "horizontal",
reverse: false,
animationLoop: true,
smoothHeight: false,
startAt: 0,
slideshow: true,
slideshowSpeed: 7000,
animationSpeed: 600,
initDelay: 0,
randomize: false,
pauseOnAction: true,
pauseOnHover: false,
useCSS: true,
touch: true,
video: false,
controlNav: true,
directionNav: true,
prevText: "Previous",
nextText: "Next",
keyboard: true,
multipleKeyboard: false,
mousewheel: false,
pausePlay: false,
pauseText: "Pause",
playText: "Play",
controlsContainer: "",
manualControls: "",
sync: "",
asNavFor: "",
itemWidth: 0,
itemMargin: 0,
minItems: 0,
maxItems: 0,
move: 0,
start: function(){},
before: function(){},
after: function(){},
end: function(){},
added: function(){},
removed: function(){}}
$.fn.flexslider=function(options){
options=options||{};
if(typeof options==="object"){
return this.each(function(){
var $this=$(this),
selector=(options.selector) ? options.selector:".slides > li",
$slides=$this.find(selector);
if($slides.length===1){
$slides.fadeIn(400);
if(options.start) options.start($this);
}else if($this.data('flexslider')===undefined){
new $.flexslider(this, options);
}});
}else{
var $slider=$(this).data('flexslider');
switch (options){
case "play": $slider.play(); break;
case "pause": $slider.pause(); break;
case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
case "prev":
case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
default: if(typeof options==="number") $slider.flexAnimate(options, true);
}}
}})(jQuery);
;(function($){
var plugin={};
var defaults={
mode: 'horizontal',
slideSelector: '',
infiniteLoop: true,
hideControlOnEnd: false,
speed: 500,
easing: null,
slideMargin: 0,
startSlide: 0,
randomStart: false,
captions: false,
ticker: false,
tickerHover: false,
adaptiveHeight: false,
adaptiveHeightSpeed: 500,
video: false,
useCSS: true,
preloadImages: 'visible',
responsive: true,
slideZIndex: 50,
wrapperClass: 'bx-wrapper',
touchEnabled: true,
swipeThreshold: 50,
oneToOneTouch: true,
preventDefaultSwipeX: true,
preventDefaultSwipeY: false,
pager: true,
pagerType: 'full',
pagerShortSeparator: ' / ',
pagerSelector: null,
buildPager: null,
pagerCustom: null,
controls: true,
nextText: 'Next',
prevText: 'Prev',
nextSelector: null,
prevSelector: null,
autoControls: false,
startText: 'Start',
stopText: 'Stop',
autoControlsCombine: false,
autoControlsSelector: null,
auto: false,
pause: 4000,
autoStart: true,
autoDirection: 'next',
autoHover: false,
autoDelay: 0,
autoSlideForOnePage: false,
minSlides: 1,
maxSlides: 1,
moveSlides: 0,
slideWidth: 0,
onSliderLoad: function(){},
onSlideBefore: function(){},
onSlideAfter: function(){},
onSlideNext: function(){},
onSlidePrev: function(){},
onSliderResize: function(){}}
$.fn.bxSlider=function(options){
if(this.length==0) return this;
if(this.length > 1){
this.each(function(){$(this).bxSlider(options)});
return this;
}
var slider={};
var el=this;
plugin.el=this;
var windowWidth=$(window).width();
var windowHeight=$(window).height();
var init=function(){
slider.settings=$.extend({}, defaults, options);
slider.settings.slideWidth=parseInt(slider.settings.slideWidth);
slider.children=el.children(slider.settings.slideSelector);
if(slider.children.length < slider.settings.minSlides) slider.settings.minSlides=slider.children.length;
if(slider.children.length < slider.settings.maxSlides) slider.settings.maxSlides=slider.children.length;
if(slider.settings.randomStart) slider.settings.startSlide=Math.floor(Math.random() * slider.children.length);
slider.active={ index: slider.settings.startSlide }
slider.carousel=slider.settings.minSlides > 1||slider.settings.maxSlides > 1;
if(slider.carousel) slider.settings.preloadImages='all';
slider.minThreshold=(slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin);
slider.maxThreshold=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
slider.working=false;
slider.controls={};
slider.interval=null;
slider.animProp=slider.settings.mode=='vertical' ? 'top':'left';
slider.usingCSS=slider.settings.useCSS&&slider.settings.mode!='fade'&&(function(){
var div=document.createElement('div');
var props=['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
for(var i in props){
if(div.style[props[i]]!==undefined){
slider.cssPrefix=props[i].replace('Perspective', '').toLowerCase();
slider.animProp='-' + slider.cssPrefix + '-transform';
return true;
}}
return false;
}());
if(slider.settings.mode=='vertical') slider.settings.maxSlides=slider.settings.minSlides;
el.data("origStyle", el.attr("style"));
el.children(slider.settings.slideSelector).each(function(){
$(this).data("origStyle", $(this).attr("style"));
});
setup();
}
var setup=function(){
el.wrap('');
slider.viewport=el.parent();
slider.loader=$('');
slider.viewport.prepend(slider.loader);
el.css({
width: slider.settings.mode=='horizontal' ? (slider.children.length * 100 + 215) + '%':'auto',
position: 'relative'
});
if(slider.usingCSS&&slider.settings.easing){
el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing);
}else if(!slider.settings.easing){
slider.settings.easing='swing';
}
var slidesShowing=getNumberSlidesShowing();
slider.viewport.css({
width: '100%',
overflow: 'hidden',
position: 'relative'
});
slider.viewport.parent().css({
maxWidth: getViewportMaxWidth()
});
if(!slider.settings.pager){
slider.viewport.parent().css({
margin: '0 auto 0px'
});
}
slider.children.css({
'float': slider.settings.mode=='horizontal' ? 'left':'none',
listStyle: 'none',
position: 'relative'
});
slider.children.css('width', getSlideWidth());
if(slider.settings.mode=='horizontal'&&slider.settings.slideMargin > 0) slider.children.css('marginRight', slider.settings.slideMargin);
if(slider.settings.mode=='vertical'&&slider.settings.slideMargin > 0) slider.children.css('marginBottom', slider.settings.slideMargin);
if(slider.settings.mode=='fade'){
slider.children.css({
position: 'absolute',
zIndex: 0,
display: 'none'
});
slider.children.eq(slider.settings.startSlide).css({zIndex: slider.settings.slideZIndex, display: 'block'});
}
slider.controls.el=$('');
if(slider.settings.captions) appendCaptions();
slider.active.last=slider.settings.startSlide==getPagerQty() - 1;
if(slider.settings.video) el.fitVids();
var preloadSelector=slider.children.eq(slider.settings.startSlide);
if(slider.settings.preloadImages=="all") preloadSelector=slider.children;
if(!slider.settings.ticker){
if(slider.settings.pager) appendPager();
if(slider.settings.controls) appendControls();
if(slider.settings.auto&&slider.settings.autoControls) appendControlsAuto();
if(slider.settings.controls||slider.settings.autoControls||slider.settings.pager) slider.viewport.after(slider.controls.el);
}else{
slider.settings.pager=false;
}
loadElements(preloadSelector, start);
}
var loadElements=function(selector, callback){
var total=selector.find('img, iframe').length;
if(total==0){
callback();
return;
}
var count=0;
selector.find('img, iframe').each(function(){
$(this).one('load', function(){
if(++count==total) callback();
}).each(function(){
if(this.complete) $(this).load();
});
});
}
var start=function(){
if(slider.settings.infiniteLoop&&slider.settings.mode!='fade'&&!slider.settings.ticker){
var slice=slider.settings.mode=='vertical' ? slider.settings.minSlides:slider.settings.maxSlides;
var sliceAppend=slider.children.slice(0, slice).clone().addClass('bx-clone');
var slicePrepend=slider.children.slice(-slice).clone().addClass('bx-clone');
el.append(sliceAppend).prepend(slicePrepend);
}
slider.loader.remove();
setSlidePosition();
if(slider.settings.mode=='vertical') slider.settings.adaptiveHeight=true;
slider.viewport.height(getViewportHeight());
el.redrawSlider();
slider.settings.onSliderLoad(slider.active.index);
slider.initialized=true;
if(slider.settings.responsive) $(window).bind('resize', resizeWindow);
if(slider.settings.auto&&slider.settings.autoStart&&(getPagerQty() > 1||slider.settings.autoSlideForOnePage)) initAuto();
if(slider.settings.ticker) initTicker();
if(slider.settings.pager) updatePagerActive(slider.settings.startSlide);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.touchEnabled&&!slider.settings.ticker) initTouch();
}
var getViewportHeight=function(){
var height=0;
var children=$();
if(slider.settings.mode!='vertical'&&!slider.settings.adaptiveHeight){
children=slider.children;
}else{
if(!slider.carousel){
children=slider.children.eq(slider.active.index);
}else{
var currentIndex=slider.settings.moveSlides==1 ? slider.active.index:slider.active.index * getMoveBy();
children=slider.children.eq(currentIndex);
for (i=1; i <=slider.settings.maxSlides - 1; i++){
if(currentIndex + i >=slider.children.length){
children=children.add(slider.children.eq(i - 1));
}else{
children=children.add(slider.children.eq(currentIndex + i));
}}
}}
if(slider.settings.mode=='vertical'){
children.each(function(index){
height +=$(this).outerHeight();
});
if(slider.settings.slideMargin > 0){
height +=slider.settings.slideMargin * (slider.settings.minSlides - 1);
}}else{
height=Math.max.apply(Math, children.map(function(){
return $(this).outerHeight(false);
}).get());
}
if(slider.viewport.css('box-sizing')=='border-box'){
height +=parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom')) +
parseFloat(slider.viewport.css('border-top-width')) + parseFloat(slider.viewport.css('border-bottom-width'));
}else if(slider.viewport.css('box-sizing')=='padding-box'){
height +=parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom'));
}
return height;
}
var getViewportMaxWidth=function(){
var width='100%';
if(slider.settings.slideWidth > 0){
if(slider.settings.mode=='horizontal'){
width=(slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin);
}else{
width=slider.settings.slideWidth;
}}
return width;
}
var getSlideWidth=function(){
var newElWidth=slider.settings.slideWidth;
var wrapWidth=slider.viewport.width();
if(slider.settings.slideWidth==0 ||
(slider.settings.slideWidth > wrapWidth&&!slider.carousel) ||
slider.settings.mode=='vertical'){
newElWidth=wrapWidth;
}else if(slider.settings.maxSlides > 1&&slider.settings.mode=='horizontal'){
if(wrapWidth > slider.maxThreshold){
}else if(wrapWidth < slider.minThreshold){
newElWidth=(wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides;
}}
return newElWidth;
}
var getNumberSlidesShowing=function(){
var slidesShowing=1;
if(slider.settings.mode=='horizontal'&&slider.settings.slideWidth > 0){
if(slider.viewport.width() < slider.minThreshold){
slidesShowing=slider.settings.minSlides;
}else if(slider.viewport.width() > slider.maxThreshold){
slidesShowing=slider.settings.maxSlides;
}else{
var childWidth=slider.children.first().width() + slider.settings.slideMargin;
slidesShowing=Math.floor((slider.viewport.width() +
slider.settings.slideMargin) / childWidth);
}}else if(slider.settings.mode=='vertical'){
slidesShowing=slider.settings.minSlides;
}
return slidesShowing;
}
var getPagerQty=function(){
var pagerQty=0;
if(slider.settings.moveSlides > 0){
if(slider.settings.infiniteLoop){
pagerQty=Math.ceil(slider.children.length / getMoveBy());
}else{
var breakPoint=0;
var counter=0
while (breakPoint < slider.children.length){
++pagerQty;
breakPoint=counter + getNumberSlidesShowing();
counter +=slider.settings.moveSlides <=getNumberSlidesShowing() ? slider.settings.moveSlides:getNumberSlidesShowing();
}}
}else{
pagerQty=Math.ceil(slider.children.length / getNumberSlidesShowing());
}
return pagerQty;
}
var getMoveBy=function(){
if(slider.settings.moveSlides > 0&&slider.settings.moveSlides <=getNumberSlidesShowing()){
return slider.settings.moveSlides;
}
return getNumberSlidesShowing();
}
var setSlidePosition=function(){
if(slider.children.length > slider.settings.maxSlides&&slider.active.last&&!slider.settings.infiniteLoop){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.last();
var position=lastChild.position();
setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.outerWidth())), 'reset', 0);
}else if(slider.settings.mode=='vertical'){
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
var position=slider.children.eq(lastShowingIndex).position();
setPositionProperty(-position.top, 'reset', 0);
}}else{
var position=slider.children.eq(slider.active.index * getMoveBy()).position();
if(slider.active.index==getPagerQty() - 1) slider.active.last=true;
if(position!=undefined){
if(slider.settings.mode=='horizontal') setPositionProperty(-position.left, 'reset', 0);
else if(slider.settings.mode=='vertical') setPositionProperty(-position.top, 'reset', 0);
}}
}
var setPositionProperty=function(value, type, duration, params){
if(slider.usingCSS){
var propValue=slider.settings.mode=='vertical' ? 'translate3d(0, ' + value + 'px, 0)':'translate3d(' + value + 'px, 0, 0)';
el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's');
if(type=='slide'){
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, propValue);
}else if(type=='ticker'){
el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear');
el.css(slider.animProp, propValue);
el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){
el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}else{
var animateObj={};
animateObj[slider.animProp]=value;
if(type=='slide'){
el.animate(animateObj, duration, slider.settings.easing, function(){
updateAfterSlideTransition();
});
}else if(type=='reset'){
el.css(slider.animProp, value)
}else if(type=='ticker'){
el.animate(animateObj, speed, 'linear', function(){
setPositionProperty(params['resetValue'], 'reset', 0);
tickerLoop();
});
}}
}
var populatePager=function(){
var pagerHtml='';
var pagerQty=getPagerQty();
for(var i=0; i < pagerQty; i++){
var linkContent='';
if(slider.settings.buildPager&&$.isFunction(slider.settings.buildPager)){
linkContent=slider.settings.buildPager(i);
slider.pagerEl.addClass('bx-custom-pager');
}else{
linkContent=i + 1;
slider.pagerEl.addClass('bx-default-pager');
}
pagerHtml +='';
};
slider.pagerEl.html(pagerHtml);
}
var appendPager=function(){
if(!slider.settings.pagerCustom){
slider.pagerEl=$('');
if(slider.settings.pagerSelector){
$(slider.settings.pagerSelector).html(slider.pagerEl);
}else{
slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl);
}
populatePager();
}else{
slider.pagerEl=$(slider.settings.pagerCustom);
}
slider.pagerEl.on('click', 'a', clickPagerBind);
}
var appendControls=function(){
slider.controls.next=$('' + slider.settings.nextText + '');
slider.controls.prev=$('' + slider.settings.prevText + '');
slider.controls.next.bind('click', clickNextBind);
slider.controls.prev.bind('click', clickPrevBind);
if(slider.settings.nextSelector){
$(slider.settings.nextSelector).append(slider.controls.next);
}
if(slider.settings.prevSelector){
$(slider.settings.prevSelector).append(slider.controls.prev);
}
if(!slider.settings.nextSelector&&!slider.settings.prevSelector){
slider.controls.directionEl=$('');
slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);
slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl);
}}
var appendControlsAuto=function(){
slider.controls.start=$('');
slider.controls.stop=$('');
slider.controls.autoEl=$('');
slider.controls.autoEl.on('click', '.bx-start', clickStartBind);
slider.controls.autoEl.on('click', '.bx-stop', clickStopBind);
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.append(slider.controls.start);
}else{
slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop);
}
if(slider.settings.autoControlsSelector){
$(slider.settings.autoControlsSelector).html(slider.controls.autoEl);
}else{
slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl);
}
updateAutoControls(slider.settings.autoStart ? 'stop':'start');
}
var appendCaptions=function(){
slider.children.each(function(index){
var title=$(this).find('img:first').attr('title');
if(title!=undefined&&('' + title).length){
$(this).append('' + title + '
');
}});
}
var clickNextBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToNextSlide();
e.preventDefault();
}
var clickPrevBind=function(e){
if(slider.settings.auto) el.stopAuto();
el.goToPrevSlide();
e.preventDefault();
}
var clickStartBind=function(e){
el.startAuto();
e.preventDefault();
}
var clickStopBind=function(e){
el.stopAuto();
e.preventDefault();
}
var clickPagerBind=function(e){
if(slider.settings.auto) el.stopAuto();
var pagerLink=$(e.currentTarget);
if(pagerLink.attr('data-slide-index')!==undefined){
var pagerIndex=parseInt(pagerLink.attr('data-slide-index'));
if(pagerIndex!=slider.active.index) el.goToSlide(pagerIndex);
e.preventDefault();
}}
var updatePagerActive=function(slideIndex){
var len=slider.children.length;
if(slider.settings.pagerType=='short'){
if(slider.settings.maxSlides > 1){
len=Math.ceil(slider.children.length/slider.settings.maxSlides);
}
slider.pagerEl.html((slideIndex + 1) + slider.settings.pagerShortSeparator + len);
return;
}
slider.pagerEl.find('a').removeClass('active');
slider.pagerEl.each(function(i, el){ $(el).find('a').eq(slideIndex).addClass('active'); });
}
var updateAfterSlideTransition=function(){
if(slider.settings.infiniteLoop){
var position='';
if(slider.active.index==0){
position=slider.children.eq(0).position();
}else if(slider.active.index==getPagerQty() - 1&&slider.carousel){
position=slider.children.eq((getPagerQty() - 1) * getMoveBy()).position();
}else if(slider.active.index==slider.children.length - 1){
position=slider.children.eq(slider.children.length - 1).position();
}
if(position){
if(slider.settings.mode=='horizontal'){ setPositionProperty(-position.left, 'reset', 0); }
else if(slider.settings.mode=='vertical'){ setPositionProperty(-position.top, 'reset', 0); }}
}
slider.working=false;
slider.settings.onSlideAfter(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}
var updateAutoControls=function(state){
if(slider.settings.autoControlsCombine){
slider.controls.autoEl.html(slider.controls[state]);
}else{
slider.controls.autoEl.find('a').removeClass('active');
slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active');
}}
var updateDirectionControls=function(){
if(getPagerQty()==1){
slider.controls.prev.addClass('disabled');
slider.controls.next.addClass('disabled');
}else if(!slider.settings.infiniteLoop&&slider.settings.hideControlOnEnd){
if(slider.active.index==0){
slider.controls.prev.addClass('disabled');
slider.controls.next.removeClass('disabled');
}else if(slider.active.index==getPagerQty() - 1){
slider.controls.next.addClass('disabled');
slider.controls.prev.removeClass('disabled');
}else{
slider.controls.prev.removeClass('disabled');
slider.controls.next.removeClass('disabled');
}}
}
var initAuto=function(){
if(slider.settings.autoDelay > 0){
var timeout=setTimeout(el.startAuto, slider.settings.autoDelay);
}else{
el.startAuto();
}
if(slider.settings.autoHover){
el.hover(function(){
if(slider.interval){
el.stopAuto(true);
slider.autoPaused=true;
}}, function(){
if(slider.autoPaused){
el.startAuto(true);
slider.autoPaused=null;
}});
}}
var initTicker=function(){
var startPosition=0;
if(slider.settings.autoDirection=='next'){
el.append(slider.children.clone().addClass('bx-clone'));
}else{
el.prepend(slider.children.clone().addClass('bx-clone'));
var position=slider.children.first().position();
startPosition=slider.settings.mode=='horizontal' ? -position.left:-position.top;
}
setPositionProperty(startPosition, 'reset', 0);
slider.settings.pager=false;
slider.settings.controls=false;
slider.settings.autoControls=false;
if(slider.settings.tickerHover&&!slider.usingCSS){
slider.viewport.hover(function(){
el.stop();
}, function(){
var totalDimens=0;
slider.children.each(function(index){
totalDimens +=slider.settings.mode=='horizontal' ? $(this).outerWidth(true):$(this).outerHeight(true);
});
var ratio=slider.settings.speed / totalDimens;
var property=slider.settings.mode=='horizontal' ? 'left':'top';
var newSpeed=ratio * (totalDimens - (Math.abs(parseInt(el.css(property)))));
tickerLoop(newSpeed);
});
}
tickerLoop();
}
var tickerLoop=function(resumeSpeed){
speed=resumeSpeed ? resumeSpeed:slider.settings.speed;
var position={left: 0, top: 0};
var reset={left: 0, top: 0};
if(slider.settings.autoDirection=='next'){
position=el.find('.bx-clone').first().position();
}else{
reset=slider.children.first().position();
}
var animateProperty=slider.settings.mode=='horizontal' ? -position.left:-position.top;
var resetValue=slider.settings.mode=='horizontal' ? -reset.left:-reset.top;
var params={resetValue: resetValue};
setPositionProperty(animateProperty, 'ticker', speed, params);
}
var initTouch=function(){
slider.touch={
start: {x: 0, y: 0},
end: {x: 0, y: 0}}
slider.viewport.bind('touchstart', onTouchStart);
}
var onTouchStart=function(e){
if(slider.working){
e.preventDefault();
}else{
slider.touch.originalPos=el.position();
var orig=e.originalEvent;
slider.touch.start.x=orig.changedTouches[0].pageX;
slider.touch.start.y=orig.changedTouches[0].pageY;
slider.viewport.bind('touchmove', onTouchMove);
slider.viewport.bind('touchend', onTouchEnd);
}}
var onTouchMove=function(e){
var orig=e.originalEvent;
var xMovement=Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x);
var yMovement=Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y);
if((xMovement * 3) > yMovement&&slider.settings.preventDefaultSwipeX){
e.preventDefault();
}else if((yMovement * 3) > xMovement&&slider.settings.preventDefaultSwipeY){
e.preventDefault();
}
if(slider.settings.mode!='fade'&&slider.settings.oneToOneTouch){
var value=0;
if(slider.settings.mode=='horizontal'){
var change=orig.changedTouches[0].pageX - slider.touch.start.x;
value=slider.touch.originalPos.left + change;
}else{
var change=orig.changedTouches[0].pageY - slider.touch.start.y;
value=slider.touch.originalPos.top + change;
}
setPositionProperty(value, 'reset', 0);
}}
var onTouchEnd=function(e){
slider.viewport.unbind('touchmove', onTouchMove);
var orig=e.originalEvent;
var value=0;
slider.touch.end.x=orig.changedTouches[0].pageX;
slider.touch.end.y=orig.changedTouches[0].pageY;
if(slider.settings.mode=='fade'){
var distance=Math.abs(slider.touch.start.x - slider.touch.end.x);
if(distance >=slider.settings.swipeThreshold){
slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}}else{
var distance=0;
if(slider.settings.mode=='horizontal'){
distance=slider.touch.end.x - slider.touch.start.x;
value=slider.touch.originalPos.left;
}else{
distance=slider.touch.end.y - slider.touch.start.y;
value=slider.touch.originalPos.top;
}
if(!slider.settings.infiniteLoop&&((slider.active.index==0&&distance > 0)||(slider.active.last&&distance < 0))){
setPositionProperty(value, 'reset', 200);
}else{
if(Math.abs(distance) >=slider.settings.swipeThreshold){
distance < 0 ? el.goToNextSlide():el.goToPrevSlide();
el.stopAuto();
}else{
setPositionProperty(value, 'reset', 200);
}}
}
slider.viewport.unbind('touchend', onTouchEnd);
}
var resizeWindow=function(e){
if(!slider.initialized) return;
var windowWidthNew=$(window).width();
var windowHeightNew=$(window).height();
if(windowWidth!=windowWidthNew||windowHeight!=windowHeightNew){
windowWidth=windowWidthNew;
windowHeight=windowHeightNew;
el.redrawSlider();
slider.settings.onSliderResize.call(el, slider.active.index);
}}
el.goToSlide=function(slideIndex, direction){
if(slider.working||slider.active.index==slideIndex) return;
slider.working=true;
slider.oldIndex=slider.active.index;
if(slideIndex < 0){
slider.active.index=getPagerQty() - 1;
}else if(slideIndex >=getPagerQty()){
slider.active.index=0;
}else{
slider.active.index=slideIndex;
}
slider.settings.onSlideBefore(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
if(direction=='next'){
slider.settings.onSlideNext(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}else if(direction=='prev'){
slider.settings.onSlidePrev(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index);
}
slider.active.last=slider.active.index >=getPagerQty() - 1;
if(slider.settings.pager) updatePagerActive(slider.active.index);
if(slider.settings.controls) updateDirectionControls();
if(slider.settings.mode=='fade'){
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0});
slider.children.eq(slider.active.index).css('zIndex', slider.settings.slideZIndex+1).fadeIn(slider.settings.speed, function(){
$(this).css('zIndex', slider.settings.slideZIndex);
updateAfterSlideTransition();
});
}else{
if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){
slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed);
}
var moveBy=0;
var position={left: 0, top: 0};
if(!slider.settings.infiniteLoop&&slider.carousel&&slider.active.last){
if(slider.settings.mode=='horizontal'){
var lastChild=slider.children.eq(slider.children.length - 1);
position=lastChild.position();
moveBy=slider.viewport.width() - lastChild.outerWidth();
}else{
var lastShowingIndex=slider.children.length - slider.settings.minSlides;
position=slider.children.eq(lastShowingIndex).position();
}}else if(slider.carousel&&slider.active.last&&direction=='prev'){
var eq=slider.settings.moveSlides==1 ? slider.settings.maxSlides - getMoveBy():((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides);
var lastChild=el.children('.bx-clone').eq(eq);
position=lastChild.position();
}else if(direction=='next'&&slider.active.index==0){
position=el.find('> .bx-clone').eq(slider.settings.maxSlides).position();
slider.active.last=false;
}else if(slideIndex >=0){
var requestEl=slideIndex * getMoveBy();
position=slider.children.eq(requestEl).position();
}
if("undefined"!==typeof(position)){
var value=slider.settings.mode=='horizontal' ? -(position.left - moveBy):-position.top;
setPositionProperty(value, 'slide', slider.settings.speed);
}}
}
el.goToNextSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.last) return;
var pagerIndex=parseInt(slider.active.index) + 1;
el.goToSlide(pagerIndex, 'next');
}
el.goToPrevSlide=function(){
if(!slider.settings.infiniteLoop&&slider.active.index==0) return;
var pagerIndex=parseInt(slider.active.index) - 1;
el.goToSlide(pagerIndex, 'prev');
}
el.startAuto=function(preventControlUpdate){
if(slider.interval) return;
slider.interval=setInterval(function(){
slider.settings.autoDirection=='next' ? el.goToNextSlide():el.goToPrevSlide();
}, slider.settings.pause);
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('stop');
}
el.stopAuto=function(preventControlUpdate){
if(!slider.interval) return;
clearInterval(slider.interval);
slider.interval=null;
if(slider.settings.autoControls&&preventControlUpdate!=true) updateAutoControls('start');
}
el.getCurrentSlide=function(){
return slider.active.index;
}
el.getCurrentSlideElement=function(){
return slider.children.eq(slider.active.index);
}
el.getSlideCount=function(){
return slider.children.length;
}
el.redrawSlider=function(){
slider.children.add(el.find('.bx-clone')).width(getSlideWidth());
slider.viewport.css('height', getViewportHeight());
if(!slider.settings.ticker) setSlidePosition();
if(slider.active.last) slider.active.index=getPagerQty() - 1;
if(slider.active.index >=getPagerQty()) slider.active.last=true;
if(slider.settings.pager&&!slider.settings.pagerCustom){
populatePager();
updatePagerActive(slider.active.index);
}}
el.destroySlider=function(){
if(!slider.initialized) return;
slider.initialized=false;
$('.bx-clone', this).remove();
slider.children.each(function(){
$(this).data("origStyle")!=undefined ? $(this).attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
});
$(this).data("origStyle")!=undefined ? this.attr("style", $(this).data("origStyle")):$(this).removeAttr('style');
$(this).unwrap().unwrap();
if(slider.controls.el) slider.controls.el.remove();
if(slider.controls.next) slider.controls.next.remove();
if(slider.controls.prev) slider.controls.prev.remove();
if(slider.pagerEl&&slider.settings.controls) slider.pagerEl.remove();
$('.bx-caption', this).remove();
if(slider.controls.autoEl) slider.controls.autoEl.remove();
clearInterval(slider.interval);
if(slider.settings.responsive) $(window).unbind('resize', resizeWindow);
}
el.reloadSlider=function(settings){
if(settings!=undefined) options=settings;
el.destroySlider();
init();
}
init();
return this;
}})(jQuery);
(function($){
jQuery(document).ready(function(){
$('.tk').click(function(){
link=$(this).attr('link');
window.location.href=link;
});
$('.float-icon').click(function(){
if($(this).hasClass('show')){
$(this).removeClass('show');
}else{
$(this).addClass('show');
}});
$('.rev_slider ul li').append('');
$(".list-service li.add-1").last().prev().addClass("border-bottom");
$(".list-service li.add-2").last().prev().addClass("border-bottom");
$(".list-service li.add-1").last().prev().prev().addClass("border-bottom");
$('.current-menu-parent').addClass('current_page_item');
var isSafari=/Safari/.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor);
if($('.main_menu>ul>li').hasClass('current_page_item')){
$('.current_page_item').addClass('active');
var currentleft=$('.current_page_item').position().left +"px";
var currentwidth=$('.current_page_item').css('width');
var id=$('.current_page_item').attr('id');
console.log(id);
if(isSafari){
var num=0;
if(id=='menu-item-53'){
num=0;
}else if(id=='menu-item-108'){
num=0;
}else if(id=='menu-item-107'){
num=0;
}
var ps=$('.current_page_item').position().left -num;
currentleft=ps +'px';
}
$('.lamp').css({"left":currentleft,"width":currentwidth});
}else{
$('.main_menu>ul>li').first().addClass('active');
var currentleft=$('.active').position().left+"px";
var currentwidth=$('.active').css('width');
$('.lamp').css({"left":currentleft,"width":currentwidth});
}
$('.main_menu>ul>li').hover(function(){
$('.main_menu ul li').removeClass('active');
$(this).addClass('active');
$('.lamp').addClass('sub-active');
$(this).find('.sub-menu').addClass('sub-active');
var currentleft=$('.active').position().left+"px";
var currentwidth=$('.active').css('width');
$('.lamp').css({"left":currentleft,"width":currentwidth});
},function(){
$('.sub-menu').stop(true,false).removeClass('sub-active', {duration:500});
$('.lamp').removeClass('sub-active');
if($('.main_menu>ul>li').hasClass('current_page_item')){
$('.current_page_item').addClass('active');
var currentleft=$('.current_page_item').position().left+"px";
var currentwidth=$('.current_page_item').css('width');
$('.lamp').css({"left":currentleft,"width":currentwidth});
}else{
$('.main_menu>ul>li').first().addClass('active');
var currentleft=$('.active').position().left+"px";
var currentwidth=$('.active').css('width');
$('.lamp').css({"left":currentleft,"width":currentwidth});
}});
$(window).resize(function(){
var currentleft=$('.active').position().left+"px";
var currentwidth=$('.active').css('width');
$('.lamp').css({"left":currentleft,"width":currentwidth});
});
$('.float-item').hover(function(){
$(this).addClass('show');
},function(){
$(this).removeClass('show');
});
$('#icon_menu a').click(function(e){
e.preventDefault();
$('.wrap_menu.visible_phone').slideToggle();
});
$('.caption-hover').click(function(){
var link=$(this).find('a').attr('href');
var op=$(this).css('opacity');
if(op==1){
window.location.href=link;
}else{
return false;
}});
$('.read-more').click(function(){
window.location.href=$(this).find('a').attr('href');
});
var regEx=/[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+/g;
var email=new Array();
$(".footer-info").filter(function(){
email=$(this).html().match(regEx);
$.each(email, function(i, val){
arr=val.split('@');
$(".footer-right").html($(".footer-right").html().replace(val, ""+val+""));
})
});
var regEx=/[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+/g;
var email=new Array();
$(".address-infor").filter(function(){
email=$(this).html().match(regEx);
$.each(email, function(i, val){
arr=val.split('@');
$(".address-infor").html($(".address-infor").html().replace(val, ""+val+""));
})
});
});
})(jQuery);
$(window).load(function(){
});
function mailto(address){
document.location.href='mail'+'to:'+address;
};